﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace d39
{
    public class UrlTweaks
    {
        public static UrlTweaks Default { get { return new UrlTweaks(); } }

        public UrlTweaks()
        {
            IncludeDescriptions = true;
            IncludePlayers = true;
            IncludePlayerPositions = true;
            IncludeMoves = true;
            IncludeTerrain = true;
            IncludeEffects = true;
            IncludeWalls = true;
            IncludeBackgroundColor = true;
            IncludeGridLineColor = true;
            IncludeTransparentItems = true;
            IncludeUnknown = true;
        }
        public UrlTweaks(UrlTweaks cloneFrom)
        {
            IncludeDescriptions = cloneFrom.IncludeDescriptions;
            IncludePlayers = cloneFrom.IncludePlayers;
            IncludePlayerPositions = cloneFrom.IncludePlayerPositions;
            IncludeMoves = cloneFrom.IncludeMoves;
            IncludeTerrain = cloneFrom.IncludeTerrain;
            IncludeEffects = cloneFrom.IncludeEffects;
            IncludeWalls = cloneFrom.IncludeWalls;
            IncludeBackgroundColor = cloneFrom.IncludeBackgroundColor;
            IncludeGridLineColor = cloneFrom.IncludeGridLineColor;
            IncludeTransparentItems = cloneFrom.IncludeTransparentItems;
            IncludeUnknown = cloneFrom.IncludeUnknown;
            RevealUnknown = cloneFrom.RevealUnknown;
            ForceSizeToZero = cloneFrom.ForceSizeToZero;
            IncludeLegendInImage = cloneFrom.IncludeLegendInImage;
            PixelSizeOverride = cloneFrom.PixelSizeOverride;
        }

        public bool IncludeDescriptions { get; set; }
        public bool IncludePlayers { get; set; }
        public bool IncludePlayerPositions { get; set; }
        public bool IncludeMoves { get; set; }
        public bool IncludeTerrain { get; set; }
        public bool IncludeWalls { get; set; }
        public bool IncludeEffects { get; set; }
        public bool IncludeBackgroundColor { get; set; }
        public bool IncludeGridLineColor { get; set; }
        public bool IncludeTransparentItems { get; set; }
        public bool IncludeUnknown { get; set; }
        public bool? RevealUnknown { get; set; }
        public bool ForceSizeToZero { get; set; }
        public bool IncludeLegendInImage { get; set; }
        public int? PixelSizeOverride { get; set; }
    }
}